import java.util.*;

/**
 * @author xhw
 */

public class HashMapAanLinkedHashMap{
    public static void main(String[] args) {
        // 创建 HashMap 实例，初始容量为100
        Map<String, String> hashMap = new HashMap<>(100);

        // 添加
        hashMap.put("1", "abc");

        // 通过key检索value
        String value = hashMap.get("1");
        System.out.println("1对应的值是：" + value);

        // 检查HashMap是否包含某个key
        boolean containsKey = hashMap.containsKey("1");
        System.out.println("是否存在”1“？ " + containsKey);

        // 从HashMap中移除
        hashMap.remove("1");
        System.out.println("移出”1“");

        // 再次检查HashMap是否包含某个key
        containsKey = hashMap.containsKey("1");
        System.out.println("”1“还存在嘛？" + containsKey);

        // 创建一个LinkedHashMap，按照顺序进行插入
        Map<String, String> linkedHashMap = new LinkedHashMap<>();

        // 添加元素
        linkedHashMap.put("3", "xyz");
        linkedHashMap.put("2", "def");
        linkedHashMap.put("1", "abc");

        // 遍历 LinkedHashMap，可以看到元素按插入顺序输出
        for (Map.Entry<String, String> entry : linkedHashMap.entrySet()) {
            System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
        }

        // 使用subList方法
        List<String> List1 = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "e"));
        // 得到 ["b", "c", "d"]
        List<String> subList = List1.subList(1, 4);
        // 将子列表中的 "c" 改为 "x"
        subList.set(1, "x");
        // 输出 ["a", "b", "x", "d", "e"], 原始列表也被更新了
        System.out.println(List1);

    }
}

